package org.hyl.javabase.队列;

import java.util.ArrayList;
import java.util.List;
import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;

public class demo1 {
  public static void main(String[] arg){
	  
	  舞台 wt =new 舞台();
	  wt.add(new 雪山飞狐(wt));
	  wt.add(new 战狼2(wt));
	  
	  
	  wt.演出();
	  wt.演出();
  }
  
}
class 舞台{
	Queue<戏> 计划=new ConcurrentLinkedQueue<>();
	public void 演出(){
		戏 x=计划.poll();
		//雪山飞狐 当前 =new 雪山飞狐(this);
		x.演出();
	}
	public void add(戏 x){
		计划.add(x);
	}
	
}
abstract class 戏{
	String 剧情;
	舞台  mwt;
	List<String> 人物 =new ArrayList<>();
	public 戏(舞台 wt){
		mwt=wt;
	}
	public abstract void 演出();
}
class 雪山飞狐  extends 戏 {
	public 雪山飞狐(舞台 wt) {
		super(wt);	
	}
	@Override
	public  void 演出(){		
		System.out.println("雪山飞狐");
	}
}
class 战狼2  extends 戏 {
	public 战狼2(舞台 wt) {
		super(wt);	
	}
	@Override
	public  void 演出(){
		
		System.out.println("战狼2");
	}
}
